/*pause()系统调用可以使得进程暂停运行、
进入休眠状态，直到进程捕获到一个信号为止
睡眠时CPU可以处理其他进程，不想while(1)那么
占用CPU资源（让CPU一直原地踏步）*/
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>

 void sig(){
        puts("TIME IS OUT!");  //和printf功能相似也可以作为输出
        exit(0);
    }

int main(int argc,char *argv[]){
    struct sigaction act = {0};
    int ret = -1;
    int second;
if(2>argc) exit(-1);
    act.sa_handler = sig;
    second = atoi(argv[1]); //将arg[1]转化成整型
   sigaction(SIGALRM,&act,NULL);
   ret = alarm(second);
   printf("倒计时：%d 秒\n",second);
   pause();  //让CPU沉睡在这里，直到接收到信号
   return 0;
}